KURZUS: Számítógépes folyamatirányítás

MODUL: A számítógép

3.1. lecke: Rendszertechnikai struktúrák

| Jelen modulban a számítógépes folyamatirányítás névadójával, főszereplőjével: a számítógéppel foglalkozunk. Ha azt mondjuk, hogy ezt nem a teljesség igényével tesszük, akkor rendkívül erőtlenül fogalmaztunk. A számítógépekkel kapcsolatos gigantikus méretű ismerethalmazból néhány morzsát ragadunk ki, olyanokat, melyek általában is fontosak, de a folyamatirányításban való alkalmazás szempontjából kiemelt jelentőségűek. Úgy tűnhet majd, hogy a tárgyalásmód meglehetősen kusza, összekeverednek rendszertechnikai, hardver és szoftver kérdések, mindenhonnan egy kicsi. Ez részben igaz, de mentségül szolgál az a tény, hogy a számítógépes folyamatirányító rendszereket tervező szakembernek minden említett oldalról kell ismeretekkel rendelkeznie, legalábbis annyira, hogy adott esetben meglássa, mely területen kell igazán elmélyülnie. És az is igaz, hogy az egész számítógép-alkalmazástechnikának ez az a területe, ahol a mérnöki munka során a legkevésbé lehetséges a hardveres és a szoftveres tevékenység éles szétválasztása, és ahol a mérnök a legkevésbé engedheti meg magának, hogy kijelentse: "én ezen, vagy azon az oldalon állok".
Egy terminológiai kérdést tisztázandó, kijelentjük, hogy 'folyamatirányító számítógép' nincs. Olyan programozható, univerzális számítógép van, amely pillanatnyilag éppen folyamatot irányít. Az ilyen gépet két dolog különbözteti meg a többiektől: a prifériális környezet speciális jellege és a benne futó programrendszer. Egyik sem a számítógép sajátja. Ha ezeket eltávolítjuk mellőle, illetve belőle, éppen olyan "csak számítógép" marad, mint a többi. Mégis beszélünk folyamatirányító számítógépről azért, hogy egyben röviden utalhassunk az alkalmazási körülményekre is.
Ha szűkebb értelemben említjük a számítógépet (ahogyan az előbb értettük), akkor három fő funkcionális egység összességének tekintjük. Ezek
a processzor, az operatív memória és a rendszerbusz.
A processzor az aktív elem, ő végzi az adat-átalakítást. A memória passzív, ő az adattárolás eszköze. Az adatforgalom a rendszerbuszon zajlik le. A buszvezérlés kizárólagos joga a processzort illeti, ő a master, a memória a slave.
Tágabb és egyben gyakoribb értelmezés szerint (mondván: az előbb említett gép nem jó semmire) a számítógép részének tekintik a rendszerbusz külső meghosszabbítását a rá kapcsolódó perifériákkal és azok vezérlő egységeivel együtt. Az így értelmezett gép már komplett, képes adatok fogadására és eredmények közlésére, vagyis nem csak magában és magának működik. (Eme utóbbi értelmezés szerint már részben jogos folyamatirányító számítógépről beszélni.)
A perifériák a processzor és a külvilág kapcsolatát biztosító eszközök. Két funkcionális elemből állnak: a perifériavezérlő egységből (control unit) és a szűkebb értelemben vett perifériából. A vezérlő egység a redszerbuszhoz kapcsolódik és logikai, valamint illesztési funkciókat lát el, vezérli a periféria sajátos feladatát ellátó berendezést. A processzor a perifériából csak a vezérlő egységet látja. A perifériavezérlők rendesen slave-jellgűek, de egy-egy un. intelligens perifériavezérlő bizonyos rendszerekben, bizonyos esetekben, masterré válhat. (Ilyenkor a processzor átmenetileg lemond a buszvezérlés jogáról és azt a perifériavezérlő egységre ruházza.) A szűkebb értelemben vett periféria elektromechanikus, vagy elektronikus berendezés, nincs logikai funkciója, a perifériától elvárt sajátos, konkrét tevékenységet végzi el (pl. nyomtat).
Cél: A lecke célja, hogy a tananyag felhasználója
megismerje a buszrendszer fogalmát és a busz funkcionális tagolódását; megismerje a klasszikus, un. szeparált-buszos rendszertechnikai modellt és az e mdellből fakadó korlátokat; megismerje az UNIBUS-struktúrát és annak előnyeit.
Követelmények: Ön akkor sajátította el megfelelően a tananyagot, ha
ismertetni tudja a buszrendszer fogalmát; fel tudja sorolni és jellemezni tudja a buszrendszer részeit; fel tudja vázolni a két-buszos struktúrát és fel tudja sorolni jellemzőit; fel tudja vázolni az UNIBUS-struktúrát és fel tudja sorolni jellemzőit.
Időszükséglet: 1 óra
Kulcsfogalmak:
busz(rendszer), címbusz, adatbusz, vezérlőbusz.
A számítógép belső adatátviteli eszköze a rendszerbusz; a gép összes funkcionális egysége a rendszerbusz köré szerveződik. A rendszertechnikai struktúrákat az egyes egységek buszhoz való viszonya jellemzi.
1. A buszrendszer
A busz egy vezeték-köteg, melynek egyes vezetékei adott logikai funkcióval bíró (adott jelentést hordozó), kétállapotú jeleket szállítanak. A busz három részre tagolható: a címbuszra, az adatbuszra és a vezérlő buszra (1. ábra).
A buszrendszer
1. ábra
A) A címbusz vezetékei a cím egyes bitjeit hordozzák. Szélessége a megcímezhető (egyedileg azonosítható) elemek számától függ. Egy n-szélességű címbusz esetén 2n eszköz azonosítható egyedi címmel. A címbusz egyirányú, mindig az aktuális masterből (általában a processzor) indul ki.
B) Az adatbusz vezetékei az adat egyes bitjeit hordozzák. Az adatbusz szélessége a párhuzamosan átviendő bitek számától függ, és kompatibilisnek kell lennie a processzor belső szóhosszúságával. Potenciálisan kétirányú, aktuálisan mindig az éppen író (adó) eszközből indul ki és az olvasó (vevő) eszköz felé irányul.
C) A vezérlőbusz az adatforgalmat szinkronizáló és egyéb, sajátos jelentést hordozó jeleket szállító vezetékek összessége. Az egyes jelei független biteket képviselnek. Szélességéről és a jelekről általánosságban nem sokat lehet mondani, az rendszerenként különböző. Példaként bemutatunk egy múzeális, de tanulságos és máig nagyon jellemző változatot, a mai processzor-csodák dédnagymamájával, az Intel 8080 processzorral kialakított rendszer vezérlőbuszának jeleit:
RESET (be): a processzor alapállapotba hozása, Φ1, Φ2 (be): két, eltolt fázisú órajel, SYNC (ki): buszciklus kezdete (érvényes cím kiadva), READY (be): a megcímzett eszköz 'kész' az adatátvitelre, WAIT (ki): a processzor vár a nem 'kész' eszközre, HOLD (be): külső eszköz elkéri a buszvezérlés jogát, HOLD ACK (ki): a processzor átadja a buszvezérlés jogát, INT (be): külső eszköz megszakítást kér, INTE (ki): megszakítás engedélyezve, DBIN (ki): a processzor olvasni fog, WR (ki): a processzor írni fog.
A tananyag jobb megértése és élőbbé tétele érdekében keressen a könyvtárban valamilyen, az Intel 8080 processzorral foglalkozó irodalmat (pl.: Intel 8080 Microcomputer Systems User's Manual, Intel Co. 1975.) és tanulmányozza a processzor buszrendszerének felépítését és jeleit! (Kereshet az Interneten is 'Intel 8080', vagy 'Intel 8085' kulcsszsóval. Akár a könyvtárban, akár az Interneten rengeteg dokumentumot találhat.)
2. A két-buszos struktúra
A korai számítógépekre jellemző, ma már nem használatos rendszertechnikai kialakítás (2. ábra).
Az osztott buszos struktúra
2. ábra
A memória és a külvilág felé két, önálló, egymástól elválasztott buszrendszer vezet. Az adatbuszok szélessége azonos, de a címbuszoké általában különböző. A vezérlőbuszok sem egyformák, más-más jeleket hordoznak. A processzor kénytelen minden adatátviteli folyamatban aktívan részt venni, vagyis minden ilyen folyamatot neki kell szerveznie; a perifériák nem férhetnek közvetlenül a memóriához. Ez a processzoridő felhasználása szempontjából kedvezőtlen, hiszen a processzor fő feladata nem az adatforgalom szervezése. A periféria- és a memóriacímek formailag különbözőek, így a processzor utasításkészlete heterogén, két nagy részhalmazra hasad. Vannak un. memóriareferenciás utasítások, ezek operandusai csak memóriabeli szavak lehetnek, és vannak un. perifériareferenciás utasítások, melyek operandusként csak perifériális regiszterekre hivatkozhatnak. Ez programozástechnikai szempontból kényelmetlen.
3. A közös-buszos (UNIBUS) struktúra
Ma már (régóta) ez az egyeduralkodó rendszertechnikai kialakítás (3. ábra).
Az UNIBUS struktúra
3. ábra
Itt meg kell állnunk egy pillanatra, és meg kell emlékeznünk az amerikai DEC (Digital Equipment Corporation) cégről. Az UNIBUS valamikor márkanév volt, a DEC védett márkaneve. Ezzel és még sok más kardinális jelentőségű rendszertechnikai újítással (hardveresen kezelt, korlátlan méretű stack, többszintes, vektoros megszakításrendszer, stb.) a cég aranybetűkkel írta be a nevét a számítástechnika emlékkönyvébe. Talán nem túlzás azt állítani, hogy az első igazán korszerű, rendkívül hatékony, könnyen rendszerbe illeszthető, nagyteljesítményű és mindemellett: programozó-barát számítógépek a DEC PDP-11 gépcsaládjának tagjai voltak ('70-es évek közepe). A cég ma már nem létezik.
A számítógép összes funkcionális egysége egyetlen, közös buszra csatlakozik. A címtartomány egységes, bizonyos címek memóriabeli szavakat, mások perifériális regisztereket azonosítanak (memóriába ágyazott I/O). A perifériavezérlő egységek közvetlenül elérhetik a memóriát, így egyes perifériák és a memória között olyan adatátviteli folyamatok is lebonyolíthatók, amelyek nem igénylik a processzor aktív közreműködését (DMA). Ilyenkor a processzor jóváhagyásával valamelyik erre alkalmas perifériavezérlő időlegesen átveheti a busz vezérlését (masterré válhat) és az adatátvitel ideje alatt a processzor olyan tevékenységeket végezhet, melyekhez nem szükséges a busz (pl. számítási műveletek).
A processzor utasításkészlete egységes, elvileg bármely utasítás bármely operandusa a rendszer bármely címezhető eleme lehet. Ez a körülmény programozástechnikai szempontból rendkívül előnyös.
Lépjen ki a tananyagból! Gondolja át a lecke tartalmát, rekonstruálja a szerkezetét! Vegyen elő egy lapot és írja le a lecke vázlatát! Ne sajnálja az erre fordított időt! Ha gondosan megcsinálja, már majdnem tudja is az anyagot.

| Önellenőrző kérdések
1. Saját szavaival mondja el a buszrendszer fogalmát és funkcióját, sorolja fel részeit!
2. Sorolja fel az Intel 8080 vezérlőbuszának jeleit! (Ne a jelek elnevezéseire, hanem a funkcióira koncentráljon!)
3. Hasonlítsa össze a leckében megismert szempontok szerint a két-buszos és az UNIBUS struktúrát!
4. Jelölje meg a helyes állításokat!
| A címbusz irányát az aktuális adatátviteli művelet (írás, vagy olvasás) határozza meg.
| Az adatbusz irányát az aktuális adatátviteli művelet (írás, vagy olvasás) határozza meg.
| A két-buszos struktúrában meg lehet valósítani valamely periféria és a memória közvetlen adatforgalmát.
| A két-buszos struktúrában egy periféria-vezérlő nem lehet master.
| Az UNIBUS-struktúrában egyidejűleg több buszvezérlő (master) is lehet.
| Az UNIBUS-struktúrában bármely erre alkalmas periféria-vezérlő lehet master.
| A két-buszos struktúrában egységes a címtartomány (bármely címen bármi lehet).
| Az UNIBUS-struktúra egyszerűbb szerkezetű, áttekinthetőbb és jobban használható utasításkészlet kialakítását teszi lehetővé.